
const path = require('path')// 引入path模块
function resolve (dir) {
  return path.join(__dirname, dir)// path.join(__dirname)设置绝对路径
}
module.exports = {
  chainWebpack: (config) => {
    // 设置别名
    config.resolve.alias
      .set('@', resolve('./src'))
      .set('components', resolve('./src/components'))
      .set('assets', resolve('./src/assets'))
      .set('network', resolve('./src/network'))
      .set('views', resolve('./src/views'))
    // set第一个参数：设置的别名，第二个参数：设置的路径

    // 修改生产环境的入口文件
    config.when(process.env.NODE_ENV === 'production', config => {
      // 修改入口
      config.entry('app').clear().add('./src/main-prod.js')
      // 添加cdn资源
      config.set('externals', {
        vue: 'Vue',
        axios: 'axios',
        'element-ui': 'ELEMENT',
        moment: 'moment',
        lodash: '_',
        echarts: 'echarts',
        nprogress: 'NProgress',
        'vue-quill-editor': 'VueQuillEditor',
        'v-charts': 'VeChart'
      })
      // 用于首页自定制
      config.plugin('html').tap(args => {
        args[0].isProd = true
        return args
      })
    })

    // 修改开发环境的入口文件
    config.when(process.env_NODE_ENV === 'development', config => {
      config.entry('app').clear().add('./src/main-dev.js')
      config.plugin('html').tap(args => {
        args[0].isProd = false
        return args
      })
    })
  },
  transpileDependencies: [
    'vue-echarts',
    'resize-detector'
  ]
}
